package com.ruoyi.system.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.ProjectsProgress;
import com.ruoyi.system.response.ProjectsInfo;

/**
 * 项目进度描述Service接口
 *
 * @author tanshen
 * @date 2023-10-12
 */
public interface IProjectsProgressService extends IService<ProjectsProgress> {
    /**
     * 查询项目进度描述
     *
     * @param id 项目进度描述主键
     * @return 项目进度描述
     */
    public ProjectsProgress selectProjectsProgressById(Long id);

    /**
     * 查询项目进度描述列表
     *
     * @param projectsProgress 项目进度描述
     * @return 项目进度描述集合
     */
    public List<ProjectsProgress> selectProjectsProgressList(ProjectsProgress projectsProgress);

    /**
     * 新增项目进度描述
     *
     * @param projectsProgress 项目进度描述
     * @return 结果
     */
    public int insertProjectsProgress(ProjectsProgress projectsProgress);

    /**
     * 修改项目进度描述
     *
     * @param projectsProgress 项目进度描述
     * @return 结果
     */
    public int updateProjectsProgress(ProjectsProgress projectsProgress);

    /**
     * 批量删除项目进度描述
     *
     * @param ids 需要删除的项目进度描述主键集合
     * @return 结果
     */
    public int deleteProjectsProgressByIds(String ids);

    /**
     * 删除项目进度描述信息
     *
     * @param id 项目进度描述主键
     * @return 结果
     */
    public int deleteProjectsProgressById(Long id);

    /**
     * 根据项目编号查询项目最新进展
     * @param projectId
     * @return
     */
    ProjectsInfo selectProjectsProgressByProjectId(Long projectId, ProjectsInfo projects);

    List<ProjectsProgress> selectProgress(List<Long> projectIds);
}
